package com.regent.central.bill.repository;

import com.regent.central.bill.core.CreateGoodsRemark;
import com.regent.central.bill.dto.sale_order.SaleOrderDetailCreateGoodsRemarkDTO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;

@Repository
public interface CreateGoodsRemarkMapper extends Mapper<CreateGoodsRemark> {

    /**
     * 获取开单要货货品备注列表, 支持多个货品一起查询
     *
     * @param createGoodsIds 开单要货货品ID数组
     * @return 开单要货货品备注列表
     */
    List<SaleOrderDetailCreateGoodsRemarkDTO> getSaleOrderDetailCreateGoodsRemarksIn(
            @Param("createGoodsIds") String... createGoodsIds
    );

    /**
     * 伪删除开单要货备注
     *
     * @param createGoodsRemarkId 开单要货备注ID
     * @param userDeleted         删除人
     */
    void hide(
            @Param("createGoodsRemarkId") String createGoodsRemarkId,
            @Param("userDeleted") String userDeleted,
            @Param("timeDeleted") long timeDeleted
    );

    /**
     * 获取开单货品备注列表
     *
     * @param createGoodsId 开单货品ID
     * @return 开单货品备注列表
     */
    List<CreateGoodsRemark> getCreateGoodsRemarks(
            @Param("createGoodsId") String createGoodsId
    );

}